// 组件: zj-search 输入框
// ==================== 参数 ====================
// ※ value ==> 当前值
// ※ model ==> 双向绑定时父组件的键名
// ※ type ==> 类型 text/number/idcard=身份证/digit=带小数点的数字 (默认: text)
// ※ placeholder ==> 提示文字 (默认: '请输入')
// ※ maxlength ==> 最大输入长度，设置为 -1 的时候不限制最大长度 (默认: 140)
// ==================== 事件 ====================
// ※ bind:model="model(e)" ==> 双向绑定
// ※ bind:input="input(e)" ==> 输入时
// ※ bind:focus="focus(e)" ==> 获取焦点
// ※ bind:blur="blur(e)" ==> 失去焦点
// ==================== 插槽 slot ====================
// ※ 默认插槽 ==> xxxxx
// ==================== 方法 ====================
// ※ xxxxx ==> xxxxx

const $app = getApp()
Component({
  properties: {
    value: { // 当前值
      type: String
    },
    model: { // 双向绑定时父组件的键名
      type: String
    },
    type: { // 类型 text/number/idcard=身份证/digit=带小数点的数字
      type: String,
      value: 'text'
    },
    placeholder: { // 提示文字
      type: String,
      value: '请输入'
    },
    maxlength: { // 最大输入长度，设置为 -1 的时候不限制最大长度
      type: Number,
      value: 140
    }
  },
  data: {
    baseUrl: $app.baseUrl,
    iconData: $app.iconData || {}
  },
  methods: {
    bindmodel (e) { this.triggerEvent('model', e.detail) },
    // ========== 输入时 ==========
    bindinput (e) { this.triggerEvent('input', e) },
    // ========== 获取焦点 ==========
    bindfocus (e) { this.triggerEvent('focus', e) },
    // ========== 失去焦点 ==========
    bindblur (e) { this.triggerEvent('blur', e) }
  }
})
